/*
多级指针的运算：
1. 指针变量加1，是向地址大的方向移动一个目标数据。多级指针运算也是以其目标变量为单位进行偏移。
2. int **p;  p+1移动一个int *变量所占的内存空间。
3. int ***p; p+1移动一个int **变量所占的内存空间。

4 4
6 6
9 9
10 10
20 20
6 6 6 6
0x7ffe0825b900 0x7ffe0825b908

 */
#include<stdio.h>
int main(){
	int a[] = {4, 6, 9, 10, 20};
	int *p[5];
	int n = sizeof(a) / sizeof(int);
	int **q;

	for(int i = 0; i < n; i++){
		p[i] = &a[i];
	}

	for(int i = 0 ; i < n ; i++){
		printf("%d %d\n",a[i] , *p[i]);
	}

	q = p;//&p[0]
	printf("%d %d %d %d\n",a[1] , *p[1] , **(q+1) , *q[1]);
	printf("%p %p\n",q , q+1);
}
